<?php
/**
 * <https://y.st./>
 * Copyright © 2016 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'title' => 'Courses for next term',
	'body' => <<<END
<img src="/img/CC_BY-SA_4.0/y.st./weblog/2016/12/21.jpg" alt="Bottle return machines" class="weblog-header-image" width="809" height="480" />
<h2 id="general">General news</h2>
<p>
	My mother was mildly upset that I never told them that I will be working on the twenty-forth this month.
	They never asked until today, though.
</p>
<p>
	After completing the body of my essay, the website that I use for $a[APA] citation formatting blocked me.
	Some $a[Tor] exit nodes are blocked while others aren&apos;t, so I went out on a short walk to pass some time so that my $a[Tor] circuit would reset.
	I returned a few bottles for their deposit, then headed back home to work on my coursework again.
</p>
<p>
	My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
</p>
<h2 id="university">University life</h2>
<p>
	My program advisor got back to me, and the issue has been fixed.
	I can now register for courses! Before I could do that though, I needed to choose which ones.
	Apparently, I&apos;m now allowed to register for up to three courses per term, though it&apos;d be a bad idea for me to register for three in my current situation.
	The obvious choices are <span title="Programming Fundamentals">CS 1101</span>, because it&apos;s a prerequisite for most of my degree program, and <span title="College Algebra">MATH 1201</span>, because it&apos;s a prerequisite for one course that I&apos;ll need to take after transitioning to the bachelor degree program.
	If I don&apos;t get <span title="Programming Fundamentals">CS 1101</span> done now, it could hold me up.
	I have no idea if it&apos;s offered every term, so it&apos;s vital that I take care of it now.
	<span title="College Algebra">MATH 1201</span> can wait, but there&apos;s no real point in waiting.
	At least, that&apos;s what I thought at first.
	Upon attempting to register for it, I was informed that I&apos;d need to add a proctor by the end of the registration period.
	Now is a <strong>*really*</strong> bad time for that.
	When I was <a href="/en/coursework/UNIV1001/Proctoring.xhtml">researching proctors</a>, I thought that I&apos;d read that proctors only needed to be added by the end of the term.
	I&apos;m unsure if I&apos;m going to be in the area at the end of the term, so finding a proctor here would be counterproductive.
	Furthermore, I was planning on trying to talk a high school teacher into being my proctor.
	The schoolteachers are off on vacation right now, I can&apos;t even <strong>*ask*</strong> them for a favor right now.
</p>
<p>
	With that in mind, I canceled the course.
	However, it still is taking up one of my three course slots, but that just keeps me from doing something stupid.
	To be honest, I was considering trying to manage three courses on top of everything else.
	My logic isn&apos;t that bad even, aside from the fact that I can only guess as to how these courses will play out.
	The first course was the beginning-level programming course that acts as a prerequisite to most of my degree program.
	I learned to program, then ended up in about three beginning-level programming courses <strong>*after*</strong> that.
	I have no doubt that I can keep up with the code work, it&apos;ll be next to nothing to me.
	<strong>*However*</strong>, that assumes that the course is mostly programming and isn&apos;t half essays on the fundamentals.
	Easy topics or not, essays take time.
	Second was that proctored math course.
	Honestly, a math course shouldn&apos;t include any written work.
	If it does contain a bunch or written work, the course has problems.
	I love written work, don&apos;t get me wrong, it just doesn&apos;t belong in a mathematics course.
	As for the math work itself, math is fairly easy and straightforward.
	<strong>*However*</strong>, this again makes the assumption that I know how the course will be structured.
	Third, I&apos;d take ...
	well, just about any other course.
	With such a light course load otherwise, this course would be the one course that actually takes time and effort.
	With my third registration slot blocked though, I probably can&apos;t even register for a third course during late registration, so I don&apos;t have to worry too much about getting big-headed and thinking that I can take on everything when I honestly can&apos;t.
</p>
<p>
	Going back to my course list to choose again, I had six real choices in mandatory courses that I must at some point take for my associate degree:
</p>
<ul>
<li>CS 1101: Programming Fundamentals</li>
<li>ENGL 1102: English Composition 2</li>
<li>HIST 1421: Greek and Roman Civilization</li>
<li>MATH 1201: College Algebra</li>
<li>MATH 1280: Introduction to Statistics</li>
<li>PHIL 1404: Ethics and Social Responsibility</li>
</ul>
<p>
	I had already registered for <span title="Programming Fundamentals">CS 1101</span>, so if I canceled it now, it wouldn&apos;t open up another registration slot.
	It&apos;d jam up a slot like canceling <span title="College Algebra">MATH 1201</span> did.
	Even if I <strong>*could*</strong> swap it out, this is the most vital course to take this term, as it opens up the rest of my course tree.
	If this course required a proctor, I would <strong>*find a way*</strong> to get a proctor now, then try to talk the university into allowing me to switch proctors if I move out of the area.
	<span title="College Algebra">MATH 1201</span> was the course that I just canceled, and <span title="English Composition 2">ENGL 1102</span> and <span title="Introduction to Statistics">MATH 1280</span> likewise require proctors, and <span title="Introduction to Statistics">MATH 1280</span> isn&apos;t available this term anyway.
	<span title="Greek and Roman Civilization">HIST 1421</span> is also unavailable this term.
	I was a bit reluctant to take <span title="Ethics and Social Responsibility">PHIL 1404</span> just yet, as though it&apos;s listed as a requirement in the course catalog, it&apos;s listed as an elective on the course registration page.
	However, it&apos;s the only remaining course that I haven&apos;t ruled out.
	I wrote to my program advisor about the discrepancy before registering to be sure though.
</p>
<p>
	Next term, I&apos;m almost certainly going to have to take a proctored course.
	<span title="Programming Fundamentals">CS 1101</span> doesn&apos;t fully unlock the largest branch of my course tree, it only unlocks <span title="Programming 1">CS 1102</span>.
	<span title="Programming 1">CS 1102</span> actually unlocks enough to move forward on that branch.
	That means that in addition to <span title="Programming 1">CS 1102</span>, I&apos;ll pretty much have the same choices in courses this term.
	If <span title="Greek and Roman Civilization">HIST 1421</span> and <span title="Programming 1">CS 1102</span> aren&apos;t both available that term, I won&apos;t be able to put off proctored courses any longer.
	I need to get into a stable situation in which taking proctored courses isn&apos;t a problem.
</p>
<p>
	I&apos;ve updated my course tree again to reflect the coming term.
	Course codes highlighted in magenta represent courses that are required for my associate degree, while course codes highlighted in cyan represent courses that are additionally required for my bachelor degree.
	Someone has asked that I make that same information available to clients that don&apos;t have colors as well and suggested that I use an asterisk to do so, so these courses are also marked with an asterisk.
	Courses nested beneath other courses are courses that cannot be taken until the outer course is completed.
	That is to say, outer courses are prerequisite to inner courses.
	Courses with names and codes that are displayed as hyperlinks are those that I&apos;ve completed, am currently taking, or have registered for.
	<span title="Ethics and Social Responsibility">PHIL 1404</span> is listed as a course that I&apos;ve registered for, even though I technically haven&apos;t yet, because it&apos;s already been decided upon.
	If my program advisor gets back to me saying that that course isn&apos;t required, I&apos;ll update the course tree again in a later journal entry.
</p>
<ul>
	<li><a href="/en/coursework/#CS1101"><span class="needed-for-associate">CS 1101</span>: Programming Fundamentals</a><ul>
		<li><span class="needed-for-associate">CS 1102</span>: Programming 1<ul>
			<li><span class="needed-for-associate">CS 1103</span>: Programming 2<ul>
				<li><span class="needed-for-associate">CS 1104</span>: Computer Systems<ul>
					<li><span class="needed-for-associate">CS 2204</span>: Communications and Networking<ul>
						<li><span class="needed-for-bachelor">CS 4404</span>: Advanced Networking and Data Security<span title="required only for the bachelor degree, not the associate degree">*</span></li>
					</ul></li>
				</ul></li>
				<li><span class="needed-for-associate">CS 2205</span>: Web Programming 1 <em>(proctored course)</em><ul>
					<li><span class="needed-for-bachelor">CS 3305</span>: Web Programming 2 <em>(proctored course)</em><span title="required only for the bachelor degree, not the associate degree">*</span></li>
					<li><span class="needed-for-bachelor">CS 4405</span>: Mobile Applications<span title="required only for the bachelor degree, not the associate degree">*</span></li>
				</ul></li>
				<li><span class="needed-for-associate">CS 2301</span>: Operating Systems 1 <em>(proctored course)</em><ul>
					<li><span class="needed-for-bachelor">CS 3307</span>: Operating Systems 2<span title="required only for the bachelor degree, not the associate degree">*</span></li>
				</ul></li>
				<li><span class="needed-for-associate">CS 2401</span>: Software Engineering 1<ul>
					<li><span class="needed-for-bachelor">CS 4403</span>: Software Engineering 2<span title="required only for the bachelor degree, not the associate degree">*</span></li>
				</ul></li>
				<li><span class="needed-for-bachelor">CS 3303</span>: Data Structures<span title="required only for the bachelor degree, not the associate degree">*</span><ul>
					<li><span class="needed-for-bachelor">CS 3304</span>: Analysis of Algorithms<span title="required only for the bachelor degree, not the associate degree">*</span><ul>
						<li><span class="needed-for-bachelor">CS 4406</span>: Computer Graphics <em>(proctored course)</em><span title="required only for the bachelor degree, not the associate degree">*</span></li>
						<li><span class="needed-for-bachelor">CS 4407</span>: Data Mining and Machine Learning <em>(proctored course)</em><span title="required only for the bachelor degree, not the associate degree">*</span><ul>
							<li><span class="needed-for-bachelor">CS 4408</span>: Artificial Intelligence <em>(proctored course)</em><span title="required only for the bachelor degree, not the associate degree">*</span></li>
						</ul></li>
					</ul></li>
					<li><span class="needed-for-bachelor">CS 3308</span>: Information Retrieval <em>(proctored course)</em><span title="required only for the bachelor degree, not the associate degree">*</span></li>
				</ul></li>
				<li><span class="needed-for-bachelor">CS 4402</span>: Comparative Programming Languages<span title="required only for the bachelor degree, not the associate degree">*</span></li>
			</ul></li>
			<li><span class="needed-for-associate">CS 2203</span>: Databases 1<ul>
				<li><span class="needed-for-bachelor">CS 3306</span>: Databases 2 <em>(proctored course)</em><span title="required only for the bachelor degree, not the associate degree">*</span></li>
			</ul></li>
		</ul></li>
	</ul></li>
	<li><span class="needed-for-associate">ENGL 1102</span>: English Composition 2 <em>(proctored course)</em></li>
	<li><span class="needed-for-associate">HIST 1421</span>: Greek and Roman Civilization</li>
	<li><span class="needed-for-associate">MATH 1201</span>: College Algebra <em>(proctored course)</em><ul>
		<li><span class="needed-for-bachelor">MATH 1211</span>: Calculus<span title="required only for the bachelor degree, not the associate degree">*</span></li>
	</ul></li>
	<li><span class="needed-for-associate">MATH 1280</span>: Introduction to Statistics <em>(proctored course)</em></li>
	<li><span class="needed-for-bachelor">MATH 1302</span>: Discrete Mathematics<span title="required only for the bachelor degree, not the associate degree">*</span></li>
	<li><a href="/en/coursework/#PHIL1404"><span class="needed-for-associate">PHIL 1404</span>: Ethics and Social Responsibility</a></li>
	<li><a href="/en/coursework/#UNIV1001"><span class="needed-for-associate">UNIV 1001</span>: Online Education Strategies</a></li>
</ul>
<ul>
	<li><span class="needed-for-associate">Any one of these:</span><ul>
		<li>BIOL 1121: Biology 1 for Health Studies Majors</li>
		<li>BIOL 1301: Introduction to Biology</li>
		<li>ENVS 1301: Introduction to Environmental Science</li>
	</ul></li>
	<li>Any <span class="needed-for-associate">one</span> (<span class="needed-for-bachelor">two</span><span title="required only for the bachelor degree, not the associate degree">*</span>) of these:<ul>
		<li>ECON 1580: Introduction to Economics</li>
		<li><a href="/en/coursework/#POLS1503">POLS 1503: Globalization</a></li>
		<li>PSYC 1111: Introduction to Human Psychology</li>
		<li>PSYC 1205: Emotional Intelligence</li>
		<li>PSYC 1504: Introduction to Psychology</li>
		<li>SOC 1502: Introduction to Sociology</li>
	</ul></li>
	<li>Any <span class="needed-for-associate">one</span> (<span class="needed-for-bachelor">two</span><span title="required only for the bachelor degree, not the associate degree">*</span>) of these:<ul>
		<li>AHIST 1401: Art History</li>
		<li>ENGL 1405: World Literature</li>
		<li>PHIL 1402: Introduction to Philosophy</li>
	</ul></li>
	<li>Any <span class="needed-for-associate">two</span> (<span class="needed-for-bachelor">five</span><span title="required only for the bachelor degree, not the associate degree">*</span>) electives<ul>
		<li><a href="/en/coursework/#BUS1101">BUS 1101: Principles of Business Management</a></li>
	</ul></li>
</ul>
<p>
	Working on my <a href="/en/coursework/BUS1101/Microsoft_and_corporate_social_responsibility.xhtml">essay</a> again, I ended up having to paint Microsoft in a partially good light due to their commitment to environmentalism.
	It&apos;s a bit frustrating having to stand up for such an evil corporation, but at the same time, they should be recognized not only for the harm that they cause, but also by the good that they choose to do on the side.
	And from the looks of it, they&apos;re trying to almost eliminate their impact on the environment.
	That&apos;s a pretty big feat and they should be recognized for it.
	I think that my essay turned out pretty well.
	I&apos;m happy with it, anyway.
</p>
<p>
	I still had my <a href="/en/coursework/BUS1101/#Unit6">learning journal</a> assignment to complete though.
	Honestly, I&apos;m not sure how many more goals I can pull out of the mission statement and vision statement from <a href="/en/coursework/BUS1101/#Unit4">Unit Four</a> or the strategy diamond from <a href="/en/coursework/BUS1101/#Unit5">Unit Five</a>.
	One of the biggest problems for me with this assignment is that the goals that my past assignment submissions suggest aren&apos;t time-bound.
	Instead, they&apos;re overall do-all-the-time goals.
	My goal to keep this journal going can be bound to specific deadlines because it has fery specific segments, each of which can individually be bound to a specific day.
	Additionally, my schooling very much has a ticking timer associated with it.
	However, other than that, there&apos;s not much concrete that I can work with.
	Even the goals that aren&apos;t do-all-the-time goals don&apos;t have any real deadlines associated with them because my life is too hectic right now to be able to put a deadline anywhere near them.
	It&apos;s time to get creative.
	It&apos;s time to throw out random goals, see if I can make them fit the required stipulations, then attach arbitrary deadlines to them that are manageable, but not overly meaningful.
	Don&apos;t get me wrong, I&apos;ll try to actually meet these deadlines, there&apos;ll just be no particular reasons to use these deadlines as opposed to others.
	It&apos;s time for a brainstorming session.
</p>
<p>
	Okay, so what do I want to get done? Well for starters, I want to get a series of opinionative articles put up on this website.
	Can I measure that? I ...
	guess.
	Sort of.
	I can measure whether or not I&apos;ve done it, but I can&apos;t measure the success of the articles.
	I&apos;d also like to get some useful mobile free software applications written.
	Can I measure that? I ...
	I think that I might actually be able to, in a way.
	If I can get any of my applications accepted into <a href="https://f-droid.org/">F-Droid</a>, that would be a huge and measurable step.
	Once there, I can&apos;t see download statistics or anything, but it would mean that people found it useful enough to warrant inclusion.
	Additionally, I plan to make my applications available in some of the proprietary software distribution systems for a fee.
	If people don&apos;t want to pay, they can get the applications (and their source code) either from my website or (if they&apos;ve been included) from F-Droid, but adding my applications to more trafficked places will make them more useful to people.
	Additionally, with the proprietary distribution systems, I&apos;ll be able to see who thought that the concept of my applications were good enough to warrant actually paying for and I&apos;ll make (probably a very little) money while I&apos;m at it.
	Alright, so that&apos;s a measurable goal.
	Can I attach a deadline to it? Attach a deadline to what? Writing and releasing the first of the applications? Getting one accepted into F-Droid? Getting a certain number of people to buy it? Hmm.
	I&apos;ll have to think on that.
	Next, I want to host my own services.
	I should be able to host my own distributed social networking instances in five years.
	At least, I should be able to host at least one.
	I&apos;m not sure that all three or more are compatible with one another, because at least one of them wants to run as the Web server software instead of as (for example) a set of $a[PHP] scripts on an existing server.
	As $a[PHP] scripts, the Web server could send different sites for different $a[HTTP] <code>Host</code> headers, but when the social networking software takes over the whole network port, it blocks everything out, including both other distributed social networks and my main website.
	If this is going to be a goal, I&apos;ve got to do some research first.
</p>
<p>
	<a href="https://pump.io./">Pump.io</a> runs as a standalone server.
	The recommended way of running <a href="https://joindiaspora.com/">diaspora*</a> is to have <a href="https://wiki.diasporafoundation.org./FAQ_for_pod_maintainers#What_ports_does_diaspora.2A_need_open_for_communication.3F">Apache or NGINX forward incoming connections to the port that diaspora* uses</a>.
	In other words, as long as I can configure Apache to only forward connections from a single subdomain, this should be compatible with other running websites on the machine.
	<a href="https://gnu.io/social/resources/faq/">$a[GNU] Social is written in $a[PHP], mostly in an effort to be installable everywhere.</a> Huh.
	Installable everywhere.
	That&apos;s exactly the feature that I&apos;m looking for, along with being free software.
</p>
<p>
	Okay, so I should have little trouble getting a $a[GNU] Social instance set up once I have a home server connected to the Web again.
	A deadline of five years seems reasonable.
	I&apos;ll be out of school, so I&apos;ll have more time to work on this sort of thing, and I&apos;ll be in a more stable position in life.
	Is it measurable? Yes.
	I&apos;ve either set up the instance and federated it with the rest of the $a[GNU] Social network or I haven&apos;t.
	There&apos;s no grey area there.
	The goal isn&apos;t to gain a mass quantity of followers and the goal isn&apos;t to find people to follow.
	The goal is for those that want to reach me via social networking to have a way to do so if they choose to put in the effort to try something other than Facebook.
	Facebook is noxious, and I won&apos;t set up an account there.
	What next? I&apos;d like to have my email under my control, but I think that most $a[ISP]s prohibit this, making it infeasible.
	Speaking of services, I need to get my Web server back under my control.
	Is that a big enough goal? Probably not.
	I&apos;ve been wanting to write a fantasy story for a while.
	Can I measure that? Yes, by length and completion status.
	Can I bind it to a specific time frame? Yes, I should be able to fit that in with everything else and have it finished in about twenty years.
	Does it fit with my mission statement and vision statement? Well, it fits with the mission statement if I release it under {$a['CC BY-SA']}, and you just <strong>*know*</strong> that I would.
	Okay, that&apos;s four.
	Now I just need one more.
</p>
<p>
	On <a href="ircs://ronsor37xl7tqn7p.onion:6697/%23openstar">#openstar</a>, I opened up my brainstoming session and sought help from the people there.
	Strangely, our number was down to five, from the few dozen people that usually hang out there.
	I&apos;m fairly certain that one of us was a robot, so that brought the number of other people down to three.
	One of them suggested using my opinionative essay goal from <a href="/en/coursework/UNIV1001/#Unit9" title="Online Education Strategies">UNIV 1001</a>.
	I&apos;d kind of considered that, but I&apos;m not sure how to properly measure it in order to bind it to a specific time frame.
	I ended up deciding to attach very specific topics to the goal, and cover all such topics by a certain date.
	I have over a dozen specific essays that I want to write, but I think that the most important ones are those on free software, free culture, patents, and monopolies.
	If I focus on those, I should be able to have them completes in five years.
	That gives me time to finish my schooling first.
	In all honesty, I&apos;ll probably have at least some of those essays written before I complete my degree, in one form or another.
	They&apos;ll no doubt need to be edited and improved as I learn more, but I won&apos;t be starting from scratch when I leave the university.
</p>
<p>
	I won&apos;t be able to complete my assignment by midnight, so I&apos;m going to cut this journal entry off here.
	I&apos;ll get a chunk of it complete before going to bed though.
</p>
<p>
	I glanced at the assigned coursework for the coming week, and it seems like this week will be easy.
	That&apos;s what I need to finish catching up, an easy week.
	I also need some time to search for more apartments to apply to.
	I sort of had to set that on the back burner for a bit.
</p>
END
);
